﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Postagem;
using Negocio.Usuario;

namespace qbaproject.Postagem.Consultar
{
    public partial class consultarPostagem : System.Web.UI.Page
    {
        private int paginaAtual = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                carregarDdl();   
            }
        }

        private void carregarDdl()
        {
            var obNUsuario = new NUsuario();

            //Carregar usuarios colaboradores
            ddlUsuarios.DataSource = obNUsuario.pegarUsuarios(null, 0, null, null, null, null, null, null, null, null, null, null, 0, 0, 0, 0, 0, 3);
            ddlUsuarios.DataBind();
            ddlUsuarios.Items.Insert(0, new ListItem("Selecionar o usuário", "0"));

            ddlStatus.Items.Insert(0, new ListItem("Selecionar o status",""));
            ddlStatus.Items.Insert(1, new ListItem("Postado", "P"));
            ddlStatus.Items.Insert(2, new ListItem("Rascunho", "R"));

            ddlAceitaComentarios.Items.Insert(0, new ListItem("Selecionar", ""));
            ddlAceitaComentarios.Items.Insert(1, new ListItem("Sim", "S"));
            ddlAceitaComentarios.Items.Insert(2, new ListItem("Não", "N"));
        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Postagem/Incluir/incluirPostagem.aspx");
        }

        protected void lkbPesquisar_Click(object sender, EventArgs e)
        {
            carregarGrid();
        }

        public void carregarGrid()
        {

            var obNPostagem = new NPostagem();
            var obListPostagem = obNPostagem.pegarPostagens(null, null, txtTePostagem.Text, txtTeTitulo.Text, ddlStatus.SelectedValue, 0, null, ddlAceitaComentarios.SelectedValue, null, Convert.ToInt32(ddlUsuarios.SelectedValue));

            if (obListPostagem.Tables[0].Rows.Count != 0)
            {
                divMsnPesquisaSucesso.Visible = true;
                lblNumEncontrados.Text = "Foram encontrados " + obListPostagem.Tables[0].Rows.Count.ToString() + " registros.";
                divMsnPesquisaAtencao.Visible = false;
            }
            else
            {
                divMsnPesquisaSucesso.Visible = false;
                divMsnPesquisaAtencao.Visible = true;
            }

            grdResPostagem.PageSize = 15;
            grdResPostagem.AllowPaging = true;
            grdResPostagem.PageIndex = paginaAtual;
            grdResPostagem.DataSource = obListPostagem;
            grdResPostagem.DataBind();
        }

        protected void grdResPostagem_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            paginaAtual = e.NewPageIndex;
            carregarGrid();
        }

        protected void lkbSim_Click(object sender, EventArgs e)
        {
            var idPostagem = Convert.ToInt32(hdfIdPostagemRemover.Value);
            var obNPostagem = new NPostagem();
            obNPostagem.Remover(idPostagem);
            carregarGrid();
        }

        protected void lkbNao_Click(object sender, EventArgs e)
        {
            ModalPopupRemover.Hide();
        }

        protected void grdResPostagem_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "editar":
                    var idPostagem = e.CommandArgument.ToString();
                    Response.Redirect("~/Postagem/Editar/editarPostagem.aspx?id=" + idPostagem);
                    break;
                case "remover":
                    var idPostagemRemover = e.CommandArgument.ToString();
                    hdfIdPostagemRemover.Value = idPostagemRemover;
                    ModalPopupRemover.Show();
                    break;
            }

        }
    }
}